package com.lms.collection.list;

import java.util.*;

/**
 * @Author: 李孟帅
 * @CreateTime: 2020-05-20 07:07
 * @Description: ${Description}
 */
public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        boolean add = list.add("a");//将指定的元素追加到此列表的末尾（可选操作）。
        list.add(0, "c");//将指定的元素插入此列表中的指定位置（可选操作）。将当前位于该位置的元素（如果有）和任何后续元素（向其索引添加一个）移动。如果指数超出范围（ index < 0 || index > size() ）
        boolean b = list.addAll(Arrays.asList("b", "d"));//按指定集合的迭代器（可选操作）返回的顺序将指定集合中的所有元素附加到此列表的末尾。
        boolean b1 = list.addAll(0, Arrays.asList("1", "2"));//将指定集合中的所有元素插入到此列表中的指定位置（可选操作）。
        list.clear();//从此列表中删除所有元素（可选操作）。
        boolean contains = list.contains("a");//如果此列表包含指定的元素，则返回 true
        boolean b2 = list.containsAll(Arrays.asList("a", "b"));//如果此列表包含指定 集合的所有元素，则返回true
        boolean b4 = list.addAll(Arrays.asList("1", "2", "3", "3", "f", "s"));
        String s = list.get(0);//返回此列表中指定位置的元素。
        int i = list.indexOf(b);//返回此列表中指定元素的第一次出现的索引，如果此列表不包含元素，则返回-
        boolean empty = list.isEmpty();//如果此列表不包含元素，则返回 true 。
        Iterator<String> iterator = list.iterator();//以正确的顺序返回该列表中的元素的迭代器。
        int z = list.lastIndexOf("z");//返回此列表中指定元素的最后一次出现的索引，如果此列表不包含元素，则返回-1。
        ListIterator<String> listIterator = list.listIterator();//返回列表中的列表迭代器（按适当的顺序）。
        ListIterator<String> stringListIterator = list.listIterator(1);//从列表中的指定位置开始，返回列表中的元素（按正确顺序）的列表迭代器。
        boolean a = list.remove("a");//删除该列表中指定位置的元素（可选操作）。
        boolean b3 = list.removeAll(Arrays.asList("c", "b"));//从此列表中删除包含在指定集合中的所有元素（可选操作）。
        list.replaceAll(str->str+":s");//将该列表的每个元素替换为将该运算符应用于该元素的结果。
        boolean b5 = list.retainAll(Arrays.asList("1:s", "3:s"));//仅保留此列表中包含在指定集合中的元素（可选操作）。
        String q = list.set(2, "q");//用指定的元素（可选操作）替换此列表中指定位置的元素。返回旧元素
        int size = list.size();//返回此列表中的元素数。
        Object[] objects = list.toArray();//以正确的顺序（从第一个到最后一个元素）返回一个包含此列表中所有元素的数组。
        String[] strings = list.toArray(new String[0]);//以正确的顺序返回一个包含此列表中所有元素的数组（从第一个到最后一个元素）; 返回的数组的运行时类型是指定数组的运行时类型
        List<String> list1 = list.subList(1, 3);//返回此列表中指定的 fromIndex （含）和 toIndex之间的视图。
        list.sort(Comparator.comparingInt(String::length));//使用随附的 Comparator排序此列表来比较元素。
        System.out.println(list1);


    }
}
